list box: Avoid excessive signals
authorMatthias Clasen <mclasen@redhat.com>
Sat, 29 Mar 2014 05:03:06 +0000 (01:03 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 6 Apr 2014 05:44:38 +0000 (01:44 -0400)
We were emitting the a11y ::selection-changed signal much more
often than ::selected-rows-changed. Thats not necessary.

gtk/gtklistbox.c

index 7ad0923cbb621a8b586eebd1266b12110ad725f9..36abbda606a137c36f7e0fce25307b68b2ff71fa 100644 (file)
@@ -1323,14 +1323,9 @@ static gboolean
 gtk_list_box_row_set_selected (GtkListBoxRow *row,
                                gboolean       selected)
 {
-  GtkListBox *box;
-  GtkListBoxRowPrivate *priv;
-
-  priv = gtk_list_box_row_get_instance_private (row);
-
-  if (priv->selected != selected)
+  if (ROW_PRIV (row)->selected != selected)
     {
-      priv->selected = selected;
+      ROW_PRIV (row)->selected = selected;
       if (selected)
         gtk_widget_set_state_flags (GTK_WIDGET (row),
                                     GTK_STATE_FLAG_SELECTED, FALSE);
@@ -1338,9 +1333,6 @@ gtk_list_box_row_set_selected (GtkListBoxRow *row,
         gtk_widget_unset_state_flags (GTK_WIDGET (row),
                                       GTK_STATE_FLAG_SELECTED);
 
-      box = gtk_list_box_row_get_box (row);
-      _gtk_list_box_accessible_selection_changed (box);
-
       gtk_widget_queue_draw (GTK_WIDGET (row));
 
       return TRUE;